#include "stack.h"
#include "queue.h"

using namespace xy;
using std::vector;
using std::list;
using std::deque;
using std::cout;
using std::endl;

void test1() {
	stack<int> st1;
	st1.push(1);
	st1.push(2);
	st1.push(1);
	st1.push(2);
	while (!(st1.empty())) {
		cout << st1.top() << ' ';
		st1.pop();
	}
	cout << endl;

	stack<int, std::list<int>> st2;
	st2.push(1);
	st2.push(2);
	st2.push(1);
	st2.push(2);
	while (!(st2.empty())) {
		cout << st2.top() << ' ';
		st2.pop();
	}
	cout << endl;
}

void test2() {
	queue<int> st1;
	st1.push(1);
	st1.push(2);
	st1.push(1);
	st1.push(2);
	while (!(st1.empty())) {
		cout << st1.front() << ' ';
		st1.pop();
	}
	cout << endl;

	queue<int, std::list<int>> st2;
	st2.push(1);
	st2.push(2);
	st2.push(1);
	st2.push(2);
	while (!(st2.empty())) {
		cout << st2.front() << ' ';
		st2.pop();
	}
	cout << endl;
}

int main() {
	test2();
	return 0;
}